package Song.Han.demo01;

import java.io.FileNotFoundException;
import java.io.IOException;

/*
处理异常的第二种方法：try...catch
    格式：
        try{
            可能产生异常的代码
        }catch(定义一个异常的变量，用来接收try中抛出的异常对象){
            异常的处理逻辑
        }
        ...
        catch(定义一个异常的变量，用来接收try中抛出的异常对象){
            异常的处理逻辑
        }
    注意：
        1.try中可能有多个异常对象，可以使用多个catch
        2.try..catch不会中断程序运行b
*/
public class Demo05TryCatch {

    public static void main(String[] args) {

        //catch中的异常对象如果有子父类关系，则子类先catch，否则会报错
        try{
            readFile("d:\\\\a.txt");
        }catch (FileNotFoundException e){
            System.out.println("传递的文件路径不是C:\\\\a.txt");
        }catch (IOException e){
            System.out.println("catch -> 文件后缀名不正确");
        }

        System.out.println("后续代码");
    }

    public static void readFile(String fileName) throws IOException {

        /*
            如果传递的路径不是.txt结尾
            那么就抛出IO异常对象
        */
        if(!fileName.endsWith(".txt")){
            throw new IOException("文件后缀名不正确");
        }

        if(!fileName.equals("C:\\\\a.txt")){
            throw  new FileNotFoundException("传递的文件路径不是C:\\\\a.txt");
        }


        System.out.println("路径正确，读取文件");
    }

}
